The Internet is a worldwide system of computer networks and is a public, self-sustaining facility that is accessible to tens of millions of people worldwide. The most widely used part of the Internet is the World Wide Web, often abbreviated “WWW” or simply referred to as just “the Web”. The Web is an Internet service that organizes information through the use of hypermedia. The HyperText Markup Language (“HTML”) is used to specify the contents and format of a hypermedia document (e.g., a Web page).
In this context, an HTML file is a file that contains the source code for a particular Web page. A Web page is the image that is displayed to a user when a particular HTML file is rendered by a browser application program. Unless specifically stated, an electronic or Web document may refer to either the source code for a particular Web page or the Web page itself. Each page can contain imbedded references to images, audio, video or other Web documents. The most common type of reference used to identify and locate resources on the Internet is the Uniform Resource Locator, or URL. In the context of the Web, a user, using a Web browser, browses for information by following references that are embedded in each of the documents. The HyperText Transfer Protocol (“HTTP”) is the protocol used to access a Web document and the references that are based on HTTP are referred to as hyperlinks (formerly, “hypertext links”).
Through the use of the Web, individuals have access to millions of pages of information. However a significant drawback with using the Web is that because there is so little organization to the Web, at times it can be extremely difficult for users to locate the particular pages that contain the information that is of interest to them. To address this problem, a mechanism known as a “search engine” has been developed to index a large number of Web pages and to provide an interface that can be used to search the indexed information by entering certain words or phases to be queried. These search terms are often referred to as “keywords”.
Indexes used by search engines are conceptually similar to the normal indexes that are typically found at the end of a book, in that both kinds of indexes comprise an ordered list of information accompanied with the location of the information. Values in one or more columns of a table are stored in an index, which is maintained separately from the actual database table. An “index word set” of a document is the set of words that are mapped to the document in an index. For documents that are not indexed, the index word set is empty.
Although there are many popular Internet search engines, they are generally constructed using the same three common parts. First, each search engine has at least one “spider” that “crawls” across the Internet to locate Web documents around the world. Upon locating a document, the spider stores the document's URL, and follows any hyperlinks associated with the document to locate other Web documents. Second, each search engine contains an indexing mechanism that indexes certain information about the documents that were located by the spider. In general, index information is generated based on the contents of the HTML file. The indexing mechanism stores the index information in large databases that can typically hold an enormous amount of information. Third, each search engine provides a search tool that allows users to search the databases in order to locate specific documents that contain information that is of interest to them.
The search engine provides an interface that allows users to specify their search criteria (e.g., keywords) and, after performing a search, an interface for displaying the search results. Typically, the search engine orders the search results prior to presenting the search results interface to the user. The order usually takes the form of a “ranking”, where the document with the highest ranking is the document considered most likely to satisfy the interest reflected in the search criteria specified by the user. The specific techniques for determining that ranking will vary from implementation to implementation, and the present invention is not limited to any particular ranking technique.
Once the matching documents have been determined, and the display order of those documents has been determined, the search engine sends to the user that issued the search a “search results page” that presents information about the matching documents in the selected display order. Typically, the number of documents that match a search is so large that the user is presented with a search results page that only displays information about the top N ranking documents, where N may be significantly smaller than the total number of matching documents. The search results page typically includes a control that allows the user to retrieve information about the “next N” matching documents, in case the first N matching documents do not entirely satisfy the users interest.
Significantly, the search results pages do not present to users the matching documents themselves, but merely data that identifies the matching documents. The data presented by the search results page for any given matching page is referred to herein as the “search result listing” for the page. The search result listings that are presented by the search results page frequently take the form of text that has been extracted from the documents themselves. For example, search results may present the “title” and “abstract” of each matching web page, where the title and abstract consist of text extracted from corresponding meta-data fields within the web pages. Typically, each entry in the search result listing includes a hyperlink which, when selected, causes the user's browser to retrieve the corresponding matching document.
Since providers of search services typically do not charge users, i.e., the searchers, for the use of the search services, search service providers often find their economic viability in charging money for presenting advertisements on search sites. The sponsored advertisements are returned in association with a search results listing. Use of the term “advertising” herein includes traditional advertising of products and services to the searcher, as well as instructional advertising, in which one provides any type of information to present to a searcher in association with search results. For example, one may want to direct a searcher to a web site for informational purposes rather than for marketing purposes. The content of advertisements may include information about products, services or otherwise, with or without a link to a resource that is associated with the advertised content, such as a web page.
This type of advertising model is typically implemented by allowing “advertisers” to subscribe to a service provided by the search service provider, whereby an advertiser can provide an advertisement for presentation to a searcher as part of a search results page. Currently, which advertisements to present to searchers is most often based on the search criteria or keywords that the searcher provides to the search engine for querying the associated index and database of web content. Therefore, advertisers must register with the service multiple keywords that the advertisers want to act as a trigger to the presentation of their advertisement. In response to a searcher submitting a query that includes any of the registered keywords, the search service provider includes one or more of the associated advertisements with a search results listing. Hence, determination of the advertisements to present in conjunction with a search results listing is based solely on the keywords that were registered in association with the advertisement. This type of approach puts a significant burden on the advertiser in registering what is typically a large set of keywords and combinations of keywords in association with their advertisement.
In contrast, another approach to presenting advertisements in association with search results listings is based on the results or output of the search, rather than on the input to the search, i.e., the keywords. An example of this approach is described in U.S. Pat. No. 6,564,208 to Littlefield et al., entitled “Delivering Non-Default Items In Association With Search Results.”
Based on the foregoing, there is a need for techniques that allow a party to present information in association with search result listings, based on the search results.